29 research outputs found

    Initial Algebra Semantics for Cyclic Sharing Tree Structures

    Full text link
    Terms are a concise representation of tree structures. Since they can be naturally defined by an inductive type, they offer data structures in functional programming and mechanised reasoning with useful principles such as structural induction and structural recursion. However, for graphs or "tree-like" structures - trees involving cycles and sharing - it remains unclear what kind of inductive structures exists and how we can faithfully assign a term representation of them. In this paper we propose a simple term syntax for cyclic sharing structures that admits structural induction and recursion principles. We show that the obtained syntax is directly usable in the functional language Haskell and the proof assistant Agda, as well as ordinary data structures such as lists and trees. To achieve this goal, we use a categorical approach to initial algebra semantics in a presheaf category. That approach follows the line of Fiore, Plotkin and Turi's models of abstract syntax with variable binding

    Iteration Algebras for UnQL Graphs and Completeness for Bisimulation

    Full text link
    This paper shows an application of Bloom and Esik's iteration algebras to model graph data in a graph database query language. About twenty years ago, Buneman et al. developed a graph database query language UnQL on the top of a functional meta-language UnCAL for describing and manipulating graphs. Recently, the functional programming community has shown renewed interest in UnCAL, because it provides an efficient graph transformation language which is useful for various applications, such as bidirectional computation. However, no mathematical semantics of UnQL/UnCAL graphs has been developed. In this paper, we give an equational axiomatisation and algebraic semantics of UnCAL graphs. The main result of this paper is to prove that completeness of our equational axioms for UnCAL for the original bisimulation of UnCAL graphs via iteration algebras. Another benefit of algebraic semantics is a clean characterisation of structural recursion on graphs using free iteration algebra.Comment: In Proceedings FICS 2015, arXiv:1509.0282

    Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories

    Full text link
    Cyclic data structures, such as cyclic lists, in functional programming are tricky to handle because of their cyclicity. This paper presents an investigation of categorical, algebraic, and computational foundations of cyclic datatypes. Our framework of cyclic datatypes is based on second-order algebraic theories of Fiore et al., which give a uniform setting for syntax, types, and computation rules for describing and reasoning about cyclic datatypes. We extract the "fold" computation rules from the categorical semantics based on iteration categories of Bloom and Esik. Thereby, the rules are correct by construction. We prove strong normalisation using the General Schema criterion for second-order computation rules. Rather than the fixed point law, we particularly choose Bekic law for computation, which is a key to obtaining strong normalisation. We also prove the property of "Church-Rosser modulo bisimulation" for the computation rules. Combining these results, we have a remarkable decidability result of the equational theory of cyclic data and fold.Comment: 38 page

    Strongly Normalising Cyclic Data Computation by Iteration Categories of Second-Order Algebraic Theories

    Get PDF
    Cyclic data structures, such as cyclic lists, in functional programming are tricky to handle because of their cyclicity. This paper presents an investigation of categorical, algebraic, and computational foundations of cyclic datatypes. Our framework of cyclic datatypes is based on second-order algebraic theories of Fiore et al., which give a uniform setting for syntax, types, and computation rules for describing and reasoning about cyclic datatypes. We extract the ``fold\u27\u27 computation rules from the categorical semantics based on iteration categories of Bloom and Esik. Thereby, the rules are correct by construction. Finally, we prove strong normalisation using the General Schema criterion for second-order computation rules. Rather than the fixed point law, we particularly choose Bekic law for computation, which is a key to obtaining strong normalisation

    Modular Termination for Second-Order Computation Rules and Application to Algebraic Effect Handlers

    Get PDF
    We present a new modular proof method of termination for second-order computation, and report its implementation SOL. The proof method is useful for proving termination of higher-order foundational calculi. To establish the method, we use a variation of semantic labelling translation and Blanqui's General Schema: a syntactic criterion of strong normalisation. As an application, we apply this method to show termination of a variant of call-by-push-value calculus with algebraic effects and effect handlers. We also show that our tool SOL is effective to solve higher-order termination problems.Comment: 27 page

    Semantics for interactive high-order functional-logic programming

    Get PDF
    本研究の目的はインタラクションのある高階関数論理型の操作的、代数的、論理的、圏論的意味論を与えることである。それぞれの意味論は以下の目的のために重要であり、しかもそれぞれのそれぞれに対する正当性 ...Thesis (Ph. D. in Engineering)--University of Tsukuba, (A), no. 1911, 1998.3.2

    Modular Termination for Second-Order Computation Rules and Application to Algebraic Effect Handlers

    Get PDF
    We present a new modular proof method of termination for second-order computation, and report its implementation SOL. The proof method is useful for proving termination of higher-order foundational calculi. To establish the method, we use a variation of semantic labelling translation and Blanqui's General Schema: a syntactic criterion of strong normalisation. As an application, we apply this method to show termination of a variant of call-by-push-value calculus with algebraic effects and effect handlers. We also show that our tool SOL is effective to solve higher-order termination problems

    How Do the Kindergarten Teachers Behave for In-School Staff Development Utilizing the KJ Method?

    Get PDF
    The purpose of this study was to examine the behavior of kindergarten teachers during an in-school staff development training program utilizing KJ method. The study focused on the nature of the verbal interaction between individual teachers. The study also examined how kindergarten teachers respond to criticism and comments from their colleague. We elicited feedback from the kindergarten teachers via an interview designed to examine their behavior. The SCAT method of qualitative analysis was used to decode the implicit meanings in the feedback data on a step-by-step basis. The study found that, firstly, kindergarten teachers were not retentive when presenting, asking questions, and giving opinions. This behavior pattern contradicted the social stigma against the offering of one’s opinion and contributed to a sense of security that was conducive to the eliciting of further opinions. Secondly, the kindergarten teachers exhibited behavior that was very accepting of the opinions of others. This behavior extended even to the most-senior and expert kindergarten teachers who were receptive to suggestions and opinions from less-experienced teachers. The results of this study therefore suggest that it is important to create a non-threatening environment and to behave in a receptive manner when aiming at quality improvement within the kindergarten teaching profession

    Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories

    No full text
    Cyclic data structures, such as cyclic lists, in functional programming are tricky to handle because of their cyclicity. This paper presents an investigation of categorical, algebraic, and computational foundations of cyclic datatypes. Our framework of cyclic datatypes is based on second-order algebraic theories of Fiore et al., which give a uniform setting for syntax, types, and computation rules for describing and reasoning about cyclic datatypes. We extract the "fold" computation rules from the categorical semantics based on iteration categories of Bloom and Esik. Thereby, the rules are correct by construction. We prove strong normalisation using the General Schema criterion for second-order computation rules. Rather than the fixed point law, we particularly choose Bekic law for computation, which is a key to obtaining strong normalisation. We also prove the property of "Church-Rosser modulo bisimulation" for the computation rules. Combining these results, we have a remarkable decidability result of the equational theory of cyclic data and fold
    corecore